home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / version / vbver32 / vbver32.frm < prev    next >
Text File  |  1995-11-06  |  18KB  |  534 lines

  1. VERSION 4.00
  2. Begin VB.Form frmVBVer 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "Information"
  5.    ClientHeight    =   4935
  6.    ClientLeft      =   1305
  7.    ClientTop       =   1650
  8.    ClientWidth     =   4530
  9.    Height          =   5340
  10.    HelpContextID   =   10
  11.    Left            =   1245
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   4935
  16.    ScaleWidth      =   4530
  17.    ShowInTaskbar   =   0   'False
  18.    Top             =   1305
  19.    Width           =   4650
  20.    Begin VB.Frame Frame1 
  21.       Caption         =   "Disk Drives"
  22.       Height          =   1815
  23.       Left            =   60
  24.       TabIndex        =   16
  25.       Top             =   2760
  26.       Width           =   4395
  27.       Begin VB.ComboBox Combo1 
  28.          Height          =   315
  29.          HelpContextID   =   30
  30.          Left            =   1080
  31.          Style           =   2  'Dropdown List
  32.          TabIndex        =   17
  33.          Top             =   240
  34.          WhatsThisHelpID =   30
  35.          Width           =   2295
  36.       End
  37.       Begin VB.Label Label1 
  38.          Alignment       =   1  'Right Justify
  39.          Caption         =   "Bytes Free:"
  40.          Height          =   255
  41.          Index           =   8
  42.          Left            =   120
  43.          TabIndex        =   27
  44.          Top             =   1440
  45.          Width           =   1635
  46.       End
  47.       Begin VB.Label Label2 
  48.          Alignment       =   1  'Right Justify
  49.          Height          =   195
  50.          Index           =   13
  51.          Left            =   1740
  52.          TabIndex        =   26
  53.          Top             =   1440
  54.          Width           =   1320
  55.       End
  56.       Begin VB.Label Label1 
  57.          Alignment       =   1  'Right Justify
  58.          Caption         =   "Sectors Per Cluster:"
  59.          Height          =   255
  60.          Index           =   9
  61.          Left            =   120
  62.          TabIndex        =   25
  63.          Top             =   1200
  64.          Width           =   1635
  65.       End
  66.       Begin VB.Label Label2 
  67.          Alignment       =   1  'Right Justify
  68.          Height          =   195
  69.          Index           =   12
  70.          Left            =   1740
  71.          TabIndex        =   24
  72.          Top             =   1200
  73.          Width           =   1320
  74.       End
  75.       Begin VB.Label Label1 
  76.          Alignment       =   1  'Right Justify
  77.          Caption         =   "Bytes Per Sector:"
  78.          Height          =   255
  79.          Index           =   10
  80.          Left            =   120
  81.          TabIndex        =   23
  82.          Top             =   960
  83.          Width           =   1635
  84.       End
  85.       Begin VB.Label Label1 
  86.          Alignment       =   1  'Right Justify
  87.          Caption         =   "Total Space:"
  88.          Height          =   255
  89.          Index           =   11
  90.          Left            =   120
  91.          TabIndex        =   22
  92.          Top             =   720
  93.          Width           =   1635
  94.       End
  95.       Begin VB.Label Label2 
  96.          Alignment       =   1  'Right Justify
  97.          Height          =   195
  98.          Index           =   11
  99.          Left            =   1740
  100.          TabIndex        =   21
  101.          Top             =   960
  102.          Width           =   1320
  103.       End
  104.       Begin VB.Label Label2 
  105.          Alignment       =   1  'Right Justify
  106.          Height          =   195
  107.          Index           =   10
  108.          Left            =   1740
  109.          TabIndex        =   20
  110.          Top             =   720
  111.          Width           =   1320
  112.       End
  113.       Begin VB.Label Label3 
  114.          Height          =   195
  115.          Index           =   0
  116.          Left            =   3180
  117.          TabIndex        =   19
  118.          Top             =   720
  119.          Width           =   975
  120.       End
  121.       Begin VB.Label Label3 
  122.          Height          =   195
  123.          Index           =   1
  124.          Left            =   3180
  125.          TabIndex        =   18
  126.          Top             =   1440
  127.          Width           =   975
  128.       End
  129.    End
  130.    Begin VB.Label Label4 
  131.       Alignment       =   2  'Center
  132.       BackStyle       =   0  'Transparent
  133.       Caption         =   "Copyright ⌐ 1995, David Warren (CIS: 72500,1406)"
  134.       ForeColor       =   &H00000000&
  135.       Height          =   255
  136.       Index           =   1
  137.       Left            =   100
  138.       TabIndex        =   33
  139.       Top             =   4660
  140.       Width           =   4275
  141.    End
  142.    Begin VB.Label Label4 
  143.       Alignment       =   2  'Center
  144.       BackStyle       =   0  'Transparent
  145.       Caption         =   "Copyright ⌐ 1995, David Warren (CIS: 72500,1406)"
  146.       ForeColor       =   &H00FFFFFF&
  147.       Height          =   255
  148.       Index           =   0
  149.       Left            =   120
  150.       TabIndex        =   32
  151.       Top             =   4680
  152.       Width           =   4275
  153.    End
  154.    Begin VB.Label Label1 
  155.       Alignment       =   1  'Right Justify
  156.       Caption         =   "Number of Processors:"
  157.       Height          =   255
  158.       Index           =   13
  159.       Left            =   180
  160.       TabIndex        =   31
  161.       Top             =   2340
  162.       Width           =   1635
  163.    End
  164.    Begin VB.Label Label2 
  165.       Height          =   195
  166.       Index           =   9
  167.       Left            =   1920
  168.       TabIndex        =   30
  169.       Top             =   2340
  170.       Width           =   2175
  171.    End
  172.    Begin VB.Label Label1 
  173.       Alignment       =   1  'Right Justify
  174.       Caption         =   "Processor Type:"
  175.       Height          =   255
  176.       Index           =   12
  177.       Left            =   180
  178.       TabIndex        =   29
  179.       Top             =   2100
  180.       Width           =   1635
  181.    End
  182.    Begin VB.Label Label2 
  183.       Height          =   195
  184.       Index           =   8
  185.       Left            =   1920
  186.       TabIndex        =   28
  187.       Top             =   2100
  188.       Width           =   2175
  189.    End
  190.    Begin VB.Label Label2 
  191.       Height          =   195
  192.       Index           =   7
  193.       Left            =   1920
  194.       TabIndex        =   15
  195.       Top             =   1860
  196.       Width           =   2175
  197.    End
  198.    Begin VB.Label Label1 
  199.       Alignment       =   1  'Right Justify
  200.       Caption         =   "Temp Directory:"
  201.       Height          =   255
  202.       Index           =   7
  203.       Left            =   180
  204.       TabIndex        =   14
  205.       Top             =   1860
  206.       Width           =   1635
  207.    End
  208.    Begin VB.Label Label2 
  209.       Height          =   195
  210.       Index           =   6
  211.       Left            =   1920
  212.       TabIndex        =   13
  213.       Top             =   1620
  214.       Width           =   2175
  215.    End
  216.    Begin VB.Label Label1 
  217.       Alignment       =   1  'Right Justify
  218.       Caption         =   "System Directory:"
  219.       Height          =   255
  220.       Index           =   6
  221.       Left            =   180
  222.       TabIndex        =   12
  223.       Top             =   1620
  224.       Width           =   1635
  225.    End
  226.    Begin VB.Label Label2 
  227.       Height          =   195
  228.       Index           =   5
  229.       Left            =   1920
  230.       TabIndex        =   11
  231.       Top             =   1380
  232.       Width           =   2175
  233.    End
  234.    Begin VB.Label Label1 
  235.       Alignment       =   1  'Right Justify
  236.       Caption         =   "Windows Directory:"
  237.       Height          =   255
  238.       Index           =   5
  239.       Left            =   180
  240.       TabIndex        =   10
  241.       Top             =   1380
  242.       Width           =   1635
  243.    End
  244.    Begin VB.Label Label1 
  245.       Alignment       =   1  'Right Justify
  246.       Caption         =   "Current User:"
  247.       Height          =   255
  248.       Index           =   4
  249.       Left            =   180
  250.       TabIndex        =   9
  251.       Top             =   1140
  252.       Width           =   1635
  253.    End
  254.    Begin VB.Label Label2 
  255.       Height          =   195
  256.       Index           =   4
  257.       Left            =   1920
  258.       TabIndex        =   8
  259.       Top             =   1140
  260.       Width           =   2175
  261.    End
  262.    Begin VB.Label Label1 
  263.       Alignment       =   1  'Right Justify
  264.       Caption         =   "Computer Name:"
  265.       Height          =   255
  266.       Index           =   3
  267.       Left            =   180
  268.       TabIndex        =   7
  269.       Top             =   900
  270.       Width           =   1635
  271.    End
  272.    Begin VB.Label Label2 
  273.       Height          =   195
  274.       Index           =   3
  275.       Left            =   1920
  276.       TabIndex        =   6
  277.       Top             =   900
  278.       Width           =   2175
  279.    End
  280.    Begin VB.Label Label2 
  281.       Height          =   195
  282.       Index           =   2
  283.       Left            =   1920
  284.       TabIndex        =   5
  285.       Top             =   660
  286.       Width           =   2175
  287.    End
  288.    Begin VB.Label Label2 
  289.       Height          =   195
  290.       Index           =   1
  291.       Left            =   1920
  292.       TabIndex        =   4
  293.       Top             =   420
  294.       Width           =   2175
  295.    End
  296.    Begin VB.Label Label2 
  297.       Height          =   195
  298.       Index           =   0
  299.       Left            =   1920
  300.       TabIndex        =   3
  301.       Top             =   180
  302.       Width           =   2175
  303.    End
  304.    Begin VB.Label Label1 
  305.       Alignment       =   1  'Right Justify
  306.       Caption         =   "Build Number:"
  307.       Height          =   255
  308.       Index           =   2
  309.       Left            =   180
  310.       TabIndex        =   2
  311.       Top             =   660
  312.       Width           =   1635
  313.    End
  314.    Begin VB.Label Label1 
  315.       Alignment       =   1  'Right Justify
  316.       Caption         =   "Version:"
  317.       Height          =   255
  318.       Index           =   1
  319.       Left            =   180
  320.       TabIndex        =   1
  321.       Top             =   420
  322.       Width           =   1635
  323.    End
  324.    Begin VB.Label Label1 
  325.       Alignment       =   1  'Right Justify
  326.       Caption         =   "Operating System:"
  327.       Height          =   255
  328.       Index           =   0
  329.       Left            =   180
  330.       TabIndex        =   0
  331.       Top             =   180
  332.       Width           =   1635
  333.    End
  334. End
  335. Attribute VB_Name = "frmVBVer"
  336. Attribute VB_Creatable = False
  337. Attribute VB_Exposed = False
  338. '************************************************
  339. 'VBVer32
  340. 'Sample of System Information functions available
  341. 'in the Win32 API.
  342. 'By David Warren
  343. 'MMC SoftwareÖ
  344. 'CompuServe: 72500,1406
  345. 'davidw@mmcsoftware.com
  346. '**********************
  347.  
  348. 'vbVer32
  349. '
  350. Private Sub Combo1_Click()
  351.  
  352.     On Error GoTo Combo1_Click_Error
  353.  
  354.     Dim lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long
  355.     Dim sRoot As String, lResult As Long, lTotal As Long, lFree As Long
  356.  
  357.     lpSectorsPerCluster = 0
  358.     lpBytesPerSector = 0
  359.     lpNumberOfFreeClusters = 0
  360.     lpTotalNumberOfClusters = 0
  361.     sRoot = Left$(Combo1.Text, 3)
  362.     lResult = GetDiskFreeSpace(sRoot, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters)
  363.     lTotal = lpSectorsPerCluster * lpBytesPerSector * lpTotalNumberOfClusters
  364.     lFree = lpSectorsPerCluster * lpBytesPerSector * lpNumberOfFreeClusters
  365.     If lTotal = 0 Then
  366.         'either removable - no disk in drive, or
  367.         'ghosted network drive, server not available
  368.         Label2(10).Caption = "Not available"
  369.         Label3(0).Caption = ""
  370.         Label2(11).Caption = ""
  371.         Label2(12).Caption = ""
  372.         Label2(13).Caption = ""
  373.         Label3(1).Caption = ""
  374.     Else
  375.         Label3(1).Caption = "(" & Format$(lFree / (1024& * 1024&), "###,###.##") & " MB)"
  376.         Label2(10).Caption = Format$(lTotal, "###,###,###,###")
  377.         Label3(0).Caption = "(" & Format$(lTotal / (1024& * 1024&), "###,###.##") & " MB)"
  378.         Label2(11).Caption = Format$(lpBytesPerSector, "###,###,###,###")
  379.         Label2(12).Caption = Format$(lpSectorsPerCluster, "###,###,###,###")
  380.         Label2(13).Caption = Format$(lFree, "###,###,###,##0")
  381.         Label3(1).Caption = "(" & Format$(lFree / (1024& * 1024&), "###,##0.##") & " MB)"
  382.     End If
  383. Combo1_Click_Exit:
  384.     Exit Sub
  385.     
  386. Combo1_Click_Error:
  387.     MsgBox "Error " & Format$(Err) & ": " & Error$ & " in Combo1_Click"
  388.     Resume Combo1_Click_Exit
  389.     
  390. End Sub
  391.  
  392.  
  393. Private Sub Form_Load()
  394.  
  395.     On Error GoTo Form_Load_Error
  396.     
  397.     Dim OSVer As OSVERSIONINFO, lResult As Long, sComputerName As String, sUsername As String
  398.     Dim lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long
  399.     Dim lTotal As Long, lFree As Long
  400.     Dim sBuffer As String, sDrives As String, sDriveID As String
  401.     Dim SysInfo As SYSTEM_INFO
  402.     If InStr(UCase$(Command$), "DEBUG") Then gfDEBUG = True
  403.     
  404. 'Center the form on the desktop
  405.     'The conventional method is:
  406.         'Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
  407.     'however, to take into consideration the position of the
  408.     'TaskBar in Windows 95, do the following:
  409.     Dim lpRect As RECT, hTaskBar As Long, lWidth As Long, lHeight As Long
  410.     hTaskBar = FindWindow("Shell_TrayWnd", 0&)
  411.     If hTaskBar > 0 Then
  412.         lResult = GetWindowRect(hTaskBar, lpRect)
  413.     End If
  414.     If (lpRect.Right - lpRect.Left) > (lpRect.Bottom - lpRect.Top) Then
  415.         'it's on top or bottom
  416.         lWidth = (Screen.Width - Me.Width) \ 2
  417.         lHeight = (Screen.Height - Me.Height) \ 2
  418.         If lpRect.Top <= 0 Then
  419.             lHeight = lHeight + ((lpRect.Bottom * Screen.TwipsPerPixelY) \ 2)
  420.         Else
  421.             lHeight = lHeight - ((lpRect.Bottom - lpRect.Top) * Screen.TwipsPerPixelY) \ 2
  422.         End If
  423.     Else
  424.         'it's on left or right
  425.         lHeight = (Screen.Height - Me.Height) \ 2
  426.         lWidth = (Screen.Width - Me.Width) \ 2
  427.         If lpRect.Left = 0 Then
  428.             lWidth = lWidth + ((lpRect.Right * Screen.TwipsPerPixelX) \ 2)
  429.         Else
  430.             lWidth = lWidth - ((lpRect.Right - lpRect.Left) * Screen.TwipsPerPixelX) \ 2
  431.         End If
  432.     End If
  433.     Me.Move lWidth, lHeight
  434.     '*** End Form Centering Code
  435.     
  436.     If InStr(UCase$(Command$), "DEBUG") Then gfDEBUG = True
  437.     
  438.     OSVer.dwOSVersionInfoSize = Len(OSVer)
  439.     lResult = GetVersionEx(OSVer)
  440.     
  441.     If lResult Then
  442.         Select Case OSVer.dwPlatformId
  443.             Case VER_PLATFORM_WIN32s
  444.                 'NOTE: VB4/32 apps won't run on Win32s
  445.                 Label2(0).Caption = "Win32s Subsystem on Windows 3.x"
  446.             Case VER_PLATFORM_WIN32_WINDOWS
  447.                 Label2(0).Caption = "Microsoft Windows 95"
  448.                 'NOTE: This value will applies for all 32-bit non-NT Windows versions,
  449.                 'not necessarily just Windows 95
  450.             Case VER_PLATFORM_WIN32_NT
  451.                 Label2(0).Caption = "Microsoft Windows NT"
  452.         End Select
  453.     End If
  454.     Label2(1).Caption = Format$(OSVer.dwMajorVersion) & "." & Format$(OSVer.dwMinorVersion, "00")
  455.     Label2(2).Caption = Format$(OSVer.dwBuildNumber Mod 65536)
  456.  
  457. 'Get Names APIs:
  458.     sComputerName = String$(32, 0)
  459.     lResult = GetComputerName(sComputerName, Len(sComputerName))
  460.     If lResult Then
  461.         Label2(3).Caption = sComputerName
  462.     End If
  463.     sUsername = String$(32, 0)
  464.     lResult = GetUserName(sUsername, Len(sUsername))
  465.     If lResult Then
  466.         Label2(4).Caption = sUsername
  467.     End If
  468. 'Get Directories APIs:
  469.     sBuffer = String$(255, 0)
  470.     lResult = GetWindowsDirectory(sBuffer, Len(sBuffer))
  471.     If lResult > 0 Then Label2(5).Caption = sBuffer
  472.     sBuffer = String$(255, 0)
  473.     lResult = GetSystemDirectory(sBuffer, Len(sBuffer))
  474.     If lResult > 0 Then Label2(6).Caption = sBuffer
  475.     sBuffer = String$(255, 0)
  476.     lResult = GetTempPath(Len(sBuffer), sBuffer)
  477.     If lResult > 0 Then Label2(7).Caption = sBuffer
  478.     ' NOTE that the string returned by this function
  479.     ' has the trailing '\' unlike all other path functions
  480. 'GetSystemInfo
  481.     Call GetSystemInfo(SysInfo)
  482.     Label2(8).Caption = Format$(SysInfo.dwProcessorType)
  483.     Label2(9).Caption = Format$(SysInfo.dwNumberOfProcessors)
  484. 'Drive Information
  485.     sDrives = String$(128, 0) 'four characters * 26 + extra Null = 105
  486.     'Cool! returns a string: A:\(NULL)B:\(NULL)C:\(NULL)...
  487.     lResult = GetLogicalDriveStrings(1024, sDrives)
  488.     Do While Left$(sDrives, 1) <> Chr$(0)
  489.         'pull one off the front
  490.         sDriveID = UCase$(Left$(sDrives, 3))
  491.         sDrives = Mid$(sDrives, 5)
  492.         'what kind is it?
  493.         lDrive = GetDriveType(sDriveID)
  494.         Select Case lDrive
  495.             Case DRIVE_REMOVABLE
  496.                 Combo1.AddItem sDriveID & "     [removable]"
  497.             Case DRIVE_FIXED
  498.                 Combo1.AddItem sDriveID & "     [fixed disk]"
  499.             Case DRIVE_REMOTE
  500.                 'get its UNC name
  501.                 sBuffer = String$(255, 0)
  502.                 'don't forget to drop the "\" from the ID for this call
  503.                 lResult = WNetGetConnection(Left$(sDriveID, 2), sBuffer, Len(sBuffer))
  504.                 If lResult = 0 Then
  505.                     Combo1.AddItem sDriveID & "     " & sBuffer
  506.                 End If
  507.             Case DRIVE_CDROM
  508.                 Combo1.AddItem sDriveID & "     [CD-ROM]"
  509.             Case DRIVE_RAMDISK
  510.                 Combo1.AddItem sDriveID & "     [ramdisk]"
  511.         End Select
  512.         'Select the drive containing the Windows directory
  513.         If Left$(Combo1.List(Combo1.ListCount - 1), 2) = Left$(Label2(5).Caption, 2) Then
  514.             Combo1.ListIndex = Combo1.ListCount - 1 ' will activate Combo1_Click
  515.         End If
  516.     Loop
  517.     
  518.     
  519. Form_Load_Exit:
  520.     Exit Sub
  521.     
  522. Form_Load_Error:
  523.     MsgBox "Error " & Format$(Err) & ": " & Error$ & " in Form_Load"
  524.     If gfDEBUG Then
  525.         Stop
  526.         Resume Next  'lets us step to the line following the error
  527.     Else
  528.         Resume Form_Load_Exit
  529.     End If
  530.         
  531. End Sub
  532.  
  533.  
  534.